package com.example.czy.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Objects;

/**
 * 状态枚举
 * 新版 MybatisPlus 字段可以直接使用枚举，通过code获取name
 *
 * @author czy
 * @date 2023-11-05
 **/
@AllArgsConstructor
@Getter
public enum StatusEnum {
    YES(1, "有效"),
    NO(0, "无效"),
    OTHER(null, "其他"),

    ;
    @EnumValue
    private Integer code;

    @JsonValue
    private String name;


    private static StatusEnum get(int code) {
        return Arrays.stream(StatusEnum.values()).filter(item -> Objects.equals(item.getCode(), code)).findFirst().orElse(StatusEnum.OTHER);
    }

}

